package br.com.ac.fatureweb.model.billing;

import br.com.ac.fatureweb.utilitary.Model;

public class LogLeitura extends Model {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3629936114009526127L;

	private Long id;

	private Long leitura;

	private Long dataLeitura;

	private Double valorConta;

	private Long qtdeImpressao;

	private Boolean leituraConfirmada;

	private Integer codOcorrencia1;

	private Long idLeiturista;

	private Long inscricao;

	private Long idCarga;

	private String observacao;

	private Integer codOcorrencia2;

	private Integer contaRetida;

	private Boolean contaRegerada;

	private Boolean foto;

	private String longitude;

	private String latitude;

	public LogLeitura(Long id, Long leitura, Long dataLeitura,
			Double valorConta, Long qtdeImpressao, Boolean leituraConfirmada,
			Integer codOcorrencia1, Long idLeiturista, Long inscricao,
			Long idCarga, String observacao, Integer codOcorrencia2,
			Integer contaRetida, Boolean contaRegerada, Boolean foto,
			String longitude, String latitude) {
		super();
		this.id = id;
		this.leitura = leitura;
		this.dataLeitura = dataLeitura;
		this.valorConta = valorConta;
		this.qtdeImpressao = qtdeImpressao;
		this.leituraConfirmada = leituraConfirmada;
		this.codOcorrencia1 = codOcorrencia1;
		this.idLeiturista = idLeiturista;
		this.inscricao = inscricao;
		this.idCarga = idCarga;
		this.observacao = observacao;
		this.codOcorrencia2 = codOcorrencia2;
		this.contaRetida = contaRetida;
		this.contaRegerada = contaRegerada;
		this.foto = foto;
		this.longitude = longitude;
		this.latitude = latitude;
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the leitura
	 */
	public Long getLeitura() {
		return leitura;
	}

	/**
	 * @param leitura
	 *            the leitura to set
	 */
	public void setLeitura(Long leitura) {
		this.leitura = leitura;
	}

	/**
	 * @return the dataLeitura
	 */
	public Long getDataLeitura() {
		return dataLeitura;
	}

	/**
	 * @param dataLeitura
	 *            the dataLeitura to set
	 */
	public void setDataLeitura(Long dataLeitura) {
		this.dataLeitura = dataLeitura;
	}

	/**
	 * @return the valorConta
	 */
	public Double getValorConta() {
		return valorConta;
	}

	/**
	 * @param valorConta
	 *            the valorConta to set
	 */
	public void setValorConta(Double valorConta) {
		this.valorConta = valorConta;
	}

	/**
	 * @return the qtdeImpressao
	 */
	public Long getQtdeImpressao() {
		return qtdeImpressao;
	}

	/**
	 * @param qtdeImpressao
	 *            the qtdeImpressao to set
	 */
	public void setQtdeImpressao(Long qtdeImpressao) {
		this.qtdeImpressao = qtdeImpressao;
	}

	/**
	 * @return the leituraConfirmada
	 */
	public Boolean getLeituraConfirmada() {
		return leituraConfirmada;
	}

	/**
	 * @param leituraConfirmada
	 *            the leituraConfirmada to set
	 */
	public void setLeituraConfirmada(Boolean leituraConfirmada) {
		this.leituraConfirmada = leituraConfirmada;
	}

	/**
	 * @return the codOcorrencia1
	 */
	public Integer getCodOcorrencia1() {
		return codOcorrencia1;
	}

	/**
	 * @param codOcorrencia1
	 *            the codOcorrencia1 to set
	 */
	public void setCodOcorrencia1(Integer codOcorrencia1) {
		this.codOcorrencia1 = codOcorrencia1;
	}

	/**
	 * @return the idLeiturista
	 */
	public Long getIdLeiturista() {
		return idLeiturista;
	}

	/**
	 * @param idLeiturista
	 *            the idLeiturista to set
	 */
	public void setIdLeiturista(Long idLeiturista) {
		this.idLeiturista = idLeiturista;
	}

	/**
	 * @return the inscricao
	 */
	public Long getInscricao() {
		return inscricao;
	}

	/**
	 * @param inscricao
	 *            the inscricao to set
	 */
	public void setInscricao(Long inscricao) {
		this.inscricao = inscricao;
	}

	/**
	 * @return the idCarga
	 */
	public Long getIdCarga() {
		return idCarga;
	}

	/**
	 * @param idCarga
	 *            the idCarga to set
	 */
	public void setIdCarga(Long idCarga) {
		this.idCarga = idCarga;
	}

	/**
	 * @return the observacao
	 */
	public String getObservacao() {
		return observacao;
	}

	/**
	 * @param observacao
	 *            the observacao to set
	 */
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	/**
	 * @return the codOcorrencia2
	 */
	public Integer getCodOcorrencia2() {
		return codOcorrencia2;
	}

	/**
	 * @param codOcorrencia2
	 *            the codOcorrencia2 to set
	 */
	public void setCodOcorrencia2(Integer codOcorrencia2) {
		this.codOcorrencia2 = codOcorrencia2;
	}

	/**
	 * @return the contaRetida
	 */
	public Integer getContaRetida() {
		return contaRetida;
	}

	/**
	 * @param contaRetida
	 *            the contaRetida to set
	 */
	public void setContaRetida(Integer contaRetida) {
		this.contaRetida = contaRetida;
	}

	/**
	 * @return the contaRegerada
	 */
	public Boolean getContaRegerada() {
		return contaRegerada;
	}

	/**
	 * @param contaRegerada
	 *            the contaRegerada to set
	 */
	public void setContaRegerada(Boolean contaRegerada) {
		this.contaRegerada = contaRegerada;
	}

	/**
	 * @return the foto
	 */
	public Boolean getFoto() {
		return foto;
	}

	/**
	 * @param foto
	 *            the foto to set
	 */
	public void setFoto(Boolean foto) {
		this.foto = foto;
	}

	/**
	 * @return the longitude
	 */
	public String getLongitude() {
		return longitude;
	}

	/**
	 * @param longitude
	 *            the longitude to set
	 */
	public void setLongitude(String longitude) {
		this.longitude = longitude;
	}

	/**
	 * @return the latitude
	 */
	public String getLatitude() {
		return latitude;
	}

	/**
	 * @param latitude
	 *            the latitude to set
	 */
	public void setLatitude(String latitude) {
		this.latitude = latitude;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((idCarga == null) ? 0 : idCarga.hashCode());
		result = prime * result
				+ ((inscricao == null) ? 0 : inscricao.hashCode());
		return result;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (!(obj instanceof LogLeitura)) {
			return false;
		}
		LogLeitura other = (LogLeitura) obj;
		if (id == null) {
			if (other.id != null) {
				return false;
			}
		} else if (!id.equals(other.id)) {
			return false;
		}
		if (idCarga == null) {
			if (other.idCarga != null) {
				return false;
			}
		} else if (!idCarga.equals(other.idCarga)) {
			return false;
		}
		if (inscricao == null) {
			if (other.inscricao != null) {
				return false;
			}
		} else if (!inscricao.equals(other.inscricao)) {
			return false;
		}
		return true;
	}

}
